The present invention relates CDMA communication systems and, in particular, to Orthogonal Variable Spreading Factor (OVSF) codes and methods for allocating, generating and determining orthogonality of OVSF codes of different data rates.
Orthogonal variable spreading factor (OVSF) codes provide an orthogonal code set of variable spreading factors. In the prior art, methods exist for allocating a set of OVSF codes of different data rates employing Walsh codes of variable length. The code assignment is made on the basis of channel data rates in a manner that results in improved utilization of the available frequency spectrum.
An alternative method to obtain OVSF codes based on the code tree structure is based on the modified Hadamard transformation, which requires two indices to indicate a specific code, (i.e., spreading factor and code number). In order to handle the code allocation process, an ASSIGNED list and a BUSY conventionally generated.
These prior art methods have drawbacks in that they require a large amount of memory to store a large number of codes, or require fast processing speeds to generate the codes or effectively allocate the available codes.
A code indexing system and method for orthogonal variable spreading factor (OVSF) codes introduces a single number mapped to the each code. The new code number itself not only provides the code signature, but it is also used for the OVSF code generation. In addition, it provides easy and fast generation of the available code list without the help of look-up table. This capability improves the dynamic code assignment.
OVSF codes are selected from a set of Walsh codes by using an index p where p represents the (p+1)xe2x88x922i th Walsh code of the ith layer of Walsh codes where i is an integer such that 2ixe2x89xa6p less than 2i+1. Preferably, the OVSF code is selected on the basis of a spreading factor SF which is a power of 2 and a Walsh code is selected having an associated index p where SFxe2x89xa6p less than 2SF.
The relative orthogonality of a selected Walsh code of layer i represented by index value p with another Walsh code of layer j represented by an index value q is determined by comparing the binary forms of p and q. The binary form of p is a sequence of i significant binary digits and the binary form of q is a sequence of j significant binary digits. The represented Walsh codes are determined to be not orthogonal if either the binary form of p is the same as the i most significant binary digits of the binary form of q or the binary form of q is the same as the j most significant binary digits of the binary form of p.
A selected Walsh code represented by index value p is easily generated based upon the sequence of significant binary digits representing the binary form of p. The selected Walsh code is generated as the Kronecker Product of i Walsh codes represented by index values 2 and 3 correspondingly to the sequence of i significant binary digits of the binary form of p where each binary digit 0 corresponds to the Walsh code of index value 2 and each binary digit 1 corresponds to the Walsh code of index value 3.
Alternatively, the selected Walsh code is generated by the Kronecker product of two Walsh codes represented by index values q and r of respective layers of j and k where j+k=i . In such case, the binary form of p is the same as the binary form of q concatenated with the binary forms of (rxe2x88x922k).
In general, OVSF codes are used and selected based upon a spreading factor SF where SF is a positive power of 2, using an index p from a set of codes where for each integer p greater than 3 the corresponding code is defined by C(p)=C(m+2)⊕C(k), with p=2xc2x7k+m, where k and m are integers with m=0 or 1. The codes corresponding to p=1, 2 or 3 are C(1)=[1], C(2)=[1, 1], and C(3)=[1, xe2x88x921]. Accordingly, p represents the (p+1)xe2x88x922i th code of an ith layer of codes for SF=2i where i is the unique integer such that 2ixe2x89xa6p less than 2i+1.
Other objects and advantages of the invention will be apparent to those skilled in the art from the following description.